/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package manejadores;

import entidades.ComiteGestor;
import interfaz.Entidad;
import interfaz.Manejador;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import persistencia.Conexion;

/**
 *
 * @author Snailin
 */
public class ManejadorDeComiteGestor implements Manejador {

    private Conexion conexion=null;
    private static ManejadorDeComiteGestor instancia=null;
    private ResultSet rs=null;
    private PreparedStatement stmt=null;
    private ArrayList<ComiteGestor>comiteGestores=null;

    public static ManejadorDeComiteGestor getInstancia() {
        if(instancia==null){
            instancia=new ManejadorDeComiteGestor();
        }
        return instancia;
    }

    private ManejadorDeComiteGestor(){
         conexion=Conexion.getInstancia();
    }

    public ArrayList<ComiteGestor>getComiteGestores(){
        comiteGestores=new ArrayList<ComiteGestor>();
        String sql=" SELECT * FROM comite_gestor";
        stmt=conexion.hacerEnunciado(sql);
        rs=conexion.hacerConsulta(sql);
        try {
            while (rs.next()) {
                ComiteGestor comiteGestor=new ComiteGestor(rs.getInt(1), rs.getInt(2), rs.getInt(3));
                comiteGestores.add(comiteGestor);

            }
        } catch (SQLException ex) {
            Logger.getLogger(ManejadorDeComiteGestor.class.getName()).log(Level.SEVERE, null, ex);
        }


        return comiteGestores;

    }

    public int agregar(Entidad comiteGestor) {
        int fila=0;
        String sql="INSERT INTO comite_gestor (id_comite_gestor, id_contribucion, id_proyecto) VALUES(0, ?, ?)";
        stmt=conexion.hacerEnunciado(sql);
        try {
            stmt.setInt(1,((ComiteGestor)(comiteGestor)).getIdConstribucion() );
            stmt.setInt(2,((ComiteGestor)(comiteGestor)).getIdProyecto());
            fila=stmt.executeUpdate();
        } catch (SQLException ex) {
            Logger.getLogger(ManejadorDeProyecto.class.getName()).log(Level.SEVERE, null, ex);
        }
       return fila;
    }

    public int eliminar(int id) {
        int fila=0;
        String sql="DELETE FROM comite_gestor WHERE id_comite_gestor = ? ";
        stmt=conexion.hacerEnunciado(sql);
        try {

            stmt.setInt(1, id);
            fila=stmt.executeUpdate();
        } catch (SQLException ex) {
            Logger.getLogger(ManejadorDeProyecto.class.getName()).log(Level.SEVERE, null, ex);
        }
       return fila;
    }

    public int modificar(Entidad comiteGestor, int id) {
        int fila=0;
        String sql="UPDATE comite_gestor SET id_contribucion = ?, id_proyecto = ? WHERE id_comite_gestor = ? ";
        stmt=conexion.hacerEnunciado(sql);
        try {

            stmt.setInt(1,((ComiteGestor)(comiteGestor)).getIdConstribucion() );
            stmt.setInt(2,((ComiteGestor)(comiteGestor)).getIdProyecto());
            stmt.setInt(3, id);
            fila=stmt.executeUpdate();
        } catch (SQLException ex) {
            Logger.getLogger(ManejadorDeProyecto.class.getName()).log(Level.SEVERE, null, ex);
        }
       return fila;
    }

}
